package org.jeecg.modules.scm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.EnableDict;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: scm_item
 * @Author: jeecg-boot
 * @Date: 2021-10-28
 * @Version: V1.0
 */
@Data
@TableName("scm_item")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "scm_item项目表实体对象", description = "scm_item")
public class ScmItem extends Model<ScmItem> implements Serializable, EnableDict {
    private static final long serialVersionUID = 1L;

    /**
     * 项目ID
     */
    @Excel(name = "项目编号", width = 15)
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "项目ID")
    private java.lang.Integer itemId;
    /**
     * 客户号
     */
    @Excel(name = "客户号", width = 15)
    @ApiModelProperty(value = "客户号")
    private java.lang.Integer cusNo;
    /**
     * 核心企业名称
     */
    @Excel(name = "核心企业名称", width = 15)
    @ApiModelProperty(value = "核心企业名称")
    private java.lang.String cusName;
    /**
     * 项目名称
     */
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private java.lang.String itemName;
    /**
     * 项目主要产品
     */
    @Excel(name = "项目主要产品", width = 15)
    @ApiModelProperty(value = "项目主要产品")
    private java.lang.String product;
    /**
     * 项目设计规模
     */
    @Excel(name = "项目设计规模", width = 15)
    @ApiModelProperty(value = "项目设计规模")
    private java.math.BigDecimal desScale;
    /**
     * 贷款类型
     */
    @Excel(name = "贷款类型", width = 15)
    @ApiModelProperty(value = "贷款类型")
    @Dict(dicCode = "item_loans_Category")
    private java.lang.Integer loansCategory;
    /**
     * 融资类型
     */
    @Excel(name = "融资用途", width = 15)
    @ApiModelProperty(value = "融资用途")
    @Dict(dicCode = "item_fin_purpose")
    private java.lang.Integer finPurpose;
    /**
     * 项目投资规模
     */
    @Excel(name = "项目投资规模", width = 15)
    @ApiModelProperty(value = "项目投资规模")
    private java.lang.String inScale;
    /**
     * 银行贷款
     */
    @Excel(name = "银行贷款", width = 15)
    @ApiModelProperty(value = "银行贷款")
    private java.math.BigDecimal bankLoan;
    /**
     * 资本金
     */
    @Excel(name = "资本金", width = 15)
    @ApiModelProperty(value = "资本金")
    private java.math.BigDecimal capital;
    /**
     * 发行债券
     */
    @Excel(name = "发行债券", width = 15)
    @ApiModelProperty(value = "发行债券")
    private java.lang.String issueBonds;
    /**
     * 其他资金来源
     */
    @Excel(name = "其他资金来源", width = 15)
    @ApiModelProperty(value = "其他资金来源")
    private java.lang.String capitalSource;
    /**
     * 开始时间
     */
    @Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private java.util.Date startTime;

    /**
     * 结束时间
     */
    @Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间")
    private java.util.Date endTime;

    /**
     * 投产时间
     */
    @Excel(name = "	投产时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "	投产时间")
    private java.util.Date proTime;
    /**
     * 项目融资投向
     */
    @Excel(name = "项目融资投向", width = 15)
    @ApiModelProperty(value = "项目融资投向")
    @Dict(dictTable = "scm_industry_type", dicCode = "id", dicText = "type_name")
    private Integer orientation;
    /**
     * 项目形态
     */
    @Excel(name = "项目形态", width = 15)
    @ApiModelProperty(value = "项目形态")
    @Dict(dicCode = "item_form")
    private Integer itmeForm;
    /**
     * 项目主管人
     */
    @Excel(name = "项目主管人", width = 15)
    @ApiModelProperty(value = "项目主管人")
    private java.lang.String satrap;
    /**
     * 联系电话
     */
    @Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private java.lang.String starapPhone;
    /**
     * 重要说明
     */
    @Excel(name = "重要说明", width = 15)
    @ApiModelProperty(value = "重要说明")
    private java.lang.String explains;
    /**
     * 项目产能
     */
    @Excel(name = "项目产能", width = 15)
    @ApiModelProperty(value = "项目产能")
    private java.lang.String capacity;
    /**
     * 项目投资人
     */
    @Excel(name = "项目投资人", width = 15)
    @ApiModelProperty(value = "项目投资人")
    private String investor;
    /**
     * 项目建设进度
     */
    @Excel(name = "	项目建设进度", width = 15)
    @ApiModelProperty(value = "	项目建设进度")
    @Dict(dicCode = "item_imp_scheduling")
    private java.lang.Integer impScheduling;
    /**
     * 所属行业
     */
    @Excel(name = "	所属行业", width = 15)
    @ApiModelProperty(value = "	所属行业")
    @Dict(dictTable = "scm_industry_type", dicCode = "id", dicText = "industry_name")
    private java.lang.Integer industry;
    /**
     * 有权审核政府部门
     */
    @Excel(name = "有权审核政府部门", width = 15)
    @ApiModelProperty(value = "有权审核政府部门")
    private java.lang.String authGov;
    /**
     * 内部收益率
     */
    @Excel(name = "内部收益率", width = 15)
    @ApiModelProperty(value = "内部收益率")
    private java.math.BigDecimal yieldRate;
    /**
     * 项目投资回收期
     */
    @Excel(name = "项目投资回收期", width = 15)
    @ApiModelProperty(value = "项目投资回收期")
    private java.lang.Integer pp;
    /**
     * 可办理业务品种
     */
    @Excel(name = "可办理业务品种", width = 15)
    @ApiModelProperty(value = "可办理业务品种")
    private java.lang.Integer busVarieties;
    /**
     * 手续费率
     */
    @Excel(name = "手续费率", width = 15)
    @ApiModelProperty(value = "手续费率")
    private java.math.BigDecimal procedureRates;

    /**
     * 期望放款时间
     */
    @ApiModelProperty(value = "期望放款时间")
    private Integer expLoanTime;
    /**
     * 项目持续期限（月）
     */
    @Excel(name = "项目持续期限（月）", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "项目持续期限（月）")
    private Integer durationTime;
    /**
     * 状态
     */
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    @Dict(dicCode = "item_status")
    private java.lang.Integer status;
    /**
     * 主要资金方（行号）
     */
    @Excel(name = "主要资金方（行号）", width = 15)
    @ApiModelProperty(value = "主要资金方（行号）")
    @Dict(dictTable = "scm_investor", dicCode = "bank_no", dicText = "full_name")
    private java.lang.Integer mainInvestor;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**
     * 创建机构
     */
    @Excel(name = "创建机构", width = 15)
    @ApiModelProperty(value = "创建机构")
    private java.lang.String createOrg;

    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
    /**
     * 修改人
     */
    @Excel(name = "修改人", width = 15)
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    /**
     * 修改机构
     */
    @Excel(name = "修改机构", width = 15)
    @ApiModelProperty(value = "修改机构")
    private String updateOrg;

    @Excel(name = "附件", width = 15)
    @ApiModelProperty(value = "附件")
    private java.lang.String accessory;

    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;


}
